package cn.sf.sufingvideoprovider.dao;

import cn.sf.pojo.Video;
import cn.sf.vo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface VideoMapper {

    /**
     * 查询视频表及相应的用户信息
     * @param id    视频ID
     * @return
     */
    public Video queryVideoAndUser(@Param("id") long id);

    /**
     * 相关推荐:根据分类查询相关视频
     * @param classify  视频分类
     * @return
     */
    public List<Video> queryOtherVideoList(@Param("classify") long classify);

    /**
     * 查询视频数据信息
     * @param videoId   视频ID
     * @return
     */
    public Video queryVideoNumberInfo(@Param("videoId") long videoId);

    /**
     * 修改视频数据信息
     * @param video    视频信息
     * @return
     */
    public int updVideoNumber(Video video);


    /**
     * 根据userId搜索所有视频播放量 评论数等等
     * @param userId
     * @return
     */
    List<VideoVo> getAll(@Param("userId") Integer userId);

    /**
     * 根据commentVideoId搜索评论信息
     * @param commentVideoId
     * @return
     */
    List<VideoComment> getAllComment(@Param("commentVideoId") Integer commentVideoId);

    /**
     * 查询视频所有信息
     * 模糊查询
     * @return
     */
    List<VideoAll> getVideoAll(@Param("videoTitle") String videoTitle,@Param("videoUserId")Integer videoUserId,@Param("PageNo") Integer PageNo);
    /**
     * 更新视频
     * @param video
     * @return
     */
    int updateVideo(@Param("video")Video video);//更改视频稿件信息

    /**
     * 删除视频
     * @param videoId
     * @return
     */
    int deleteVideo(@Param("videoId")Integer videoId);//删除视频信息

    /**
     * 查询数据信息
     * @param userId
     * @return
     */
    List<VideoDate> getVideoDate(@Param("userId") Integer userId);

    /**
     *查看所有评论
     * @param commentVideoId
     * @return
     */
    List<CommentAll> getComment(@Param("commentVideoId") Integer commentVideoId);//查询所有评论


    /**
     * 删除评论
     * @param commentId
     * @return
     */
    int deleteComment(@Param("commentId") Integer commentId);//删除评论

    //获取用户发布的视频id最大值
    int getVideoIdMAX(long id);

    //添加视频
    int addVideo(Video video);


}
